热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ECCV2022|一种基于先验指导的对抗样本初始化方法

点击下方卡片,关注“CVer”公众号AICV重磅干货,第一时间送达点击进入—CV微信技术交流群中科院信工所中山大学操晓春教授课题组,香港

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—>CV微信技术交流群

中科院信工所/中山大学操晓春教授课题组,香港中文大学(深圳)吴保元教授课题组,腾讯AI Lab共同提出的一种基于先验指导的对抗样本初始化方法已被ECCV2022接收。对抗训练是抵御对抗样本攻击最有效的方法之一。标准的对抗训练往往使用多步的方法来生成对抗样本,如PGD。然而,这需要花费大量时间来计算梯度。为了提高对抗训练的效率,快速对抗训练(FAT)应运而生。但FAT往往存在灾难性遗忘的问题,例如在FAT中后段,训练模型在对抗攻击下的鲁棒准确率会突然急剧下降。针对这个问题,本文通过比较标准对抗训练与FAT的训练过程,发现导致FAT出现灾难性遗忘的原因是FAT中产生的对抗样本(AEs)的攻击成功率在训练中逐渐变低。作者通过提出一种基于先验指导的(Prior-Guided)对抗样本初始化方法来解决FAT中的灾难性遗忘的问题,从而提升FAT的效果。

7cca75cc719cce99ce026e6d9ed45ee0.png

论文标题: Prior-Guided Adversarial Initialization for Fast Adversarial Training

收录会议: ECCV 2022

论文链接: https://arxiv.org/pdf/2207.08859.pdf

代码链接:https://github.com/jiaxiaojunQAQ/FGSM-PGI

1. 问题背景

传统的对抗训练可以归类为一个最小最大化优化问题:

其中表示参数为的模型,为损失函数,表示在输入空间上添加的对抗扰动,其大小可以被限制。从而多步的对抗攻击方法可以被定义为:

其中表示在第次迭代时的扰动,表示攻击步长,为将输入影射到的投影。

尽管多步的对抗训练方法可以有效提高模型的鲁棒性,但这往往需要大量时间和计算资源来生成训练中的对抗样本。随后,快速对抗训练通过单步快速梯度符号(FGSM)的方法被提出用以提升生成对抗样本的效率:

其中是最大扰动强度。尽管基于FGSM的对抗训练方法起到了较好的加速效果,但是具有灾难性遗忘的问题,即在使用基于FGSM的方法对抗训练一段时间后,训练模型的鲁棒性会迅速消失,无法抵御PGD所产生的对抗样本的攻击。Wong等人提出了在基于FGSM的对抗样本生成中加入随机初始化,即

其中表示随机初始化,是一个高斯分布。而Andriushchenko等人的工作表明生成对抗样本时添加随机初始化并不能防止灾难性遗忘的发生。

2. 基本先验指导的对抗初始化

2.1 审视灾难性遗忘

对抗训练的灾难性遗忘是指在快速对抗训练中后期模型的鲁棒准确率突然降低到的现象,如下图右所示

b4797fc758d22231f5d9224f229c6ce3.png

这种现象最先由Wong等人发现,随后他们又发现使用FGSM生成对抗样本时使用随机初始化可以延缓灾难性遗忘发生的时间,但是随着训练的进行,灾难性遗忘还是无法避免。

为了研究灾难性遗忘发生的原因,本文首先对基于PGD的标准对抗训练(SAT)以及基于FGSM的快速对抗训练(FAT)中途所生成的对抗样本进行比较和研究。通过观察上图左,本文发现:(1)由标准的FGSM-AT与添加随机初始化的FGSM-RS生成的对抗样本的攻击成功率(ASR)分别在第20个和第74个epoch降低到,从而导致了灾难性遗忘的发生。这预示着如果对抗训练途中生成的对抗样本丧失了攻击性,则模型的鲁棒性会迅速降低;(2)通过比较FGSM-AT与FGSM-RS发现加入随机初始化可以延缓灾难性遗忘的发生,但是无法避免;(3)PGD-2-AT中没有发生灾难性遗忘。由于PGD-2-AT可以认为是带有对抗初始化(adversarial initialization)的FSGM,因此对抗初始化可以提高所生成的对抗样本的质量,尽管进行对抗初始化需要额外的梯度计算。

2.2 基于先验指导的对抗初始化

通过上述观察,本文作者转而思考如何有效的得到对抗初始化而不需要额外的计算开销。作者提出可以使用训练过程中的历史对抗扰动,来作为当前时刻的初始化。而这种历史对抗扰动可以认为是不需要进行额外计算就能得到的先验知识。本文探索了三种利用历史对抗扰动的策略,即(1)先前batch生成的扰动;(2)先前epoch生成的扰动;(3)所有epoch产生的扰动的动量,分别命名为FGSM-BP,FGSM-EP和FGSM-MEP。

Prior From the Previous Batch (FGSM-BP): 将上一个batch所生成的对抗扰动存储下来作为当前batch生成对抗样本时的初始化,公式如下:

其中代表第个batch所添加的对抗扰动。

Prior From the Previous Epoch (FGSM-EP): 将上一个epoch所生成的对抗扰动存储下来作为当前epoch生成对抗样本时的初始化,公式如下:

其中代表第个epoch所添加的对抗扰动。

Prior From the Momentum of All Previous Epochs (FGSM-MEP): 为了充分利用整个训练过程中的历史对抗扰动信息,作者提出使用使用先前所有training epoch中所生成的扰动的动量来作为当前epoch生成对抗样本时的初始化,公式如下:

2.3 Prior-guided Initialization based Regularization

本文还提出了一种基于先验指导初始化的正则化方法来提升模型的鲁棒性。给定先验指导下的初始化,FGSM可以产生当前时刻的对抗扰动。不论是先验指导下的初始化还是当前时刻的扰动都可以用来生成对抗样本。因此迫使这两种方式生成的对抗样本具有相同的输出结果有助于提升所学模型函数的光滑性。所提出的正则项可以加入到训练损失中去来更新模型参数,如下所示:

其中代表上述三种方法之一所生成的先验指导的初始化,代表FGSM使用作为初始化所生成的对抗扰动,是一个常系数项。上述公式中第一项为对抗样本上的交叉熵损失,第二项为与 d的输出之差的距离。第二项的目的是使得学到的模型不仅对当前生成的对抗样本鲁棒,而且对历史的对抗样本也鲁棒。这样,所提出的正则项显式的迫使模型函数在样本周围更加光滑,从而提升模型鲁棒性。

2.4 理论分析

由于在非凸优化问题中梯度的范数与收敛性有关,因此更小的对抗扰动的范数上界有助于对抗训练更快地收敛到局部最小值。本文给出了基于先验指导初始化所生成的对抗扰动的范数上界,即,如下图所示,这比FGSM-RS提出的更小。

cff7c8bd0384e84027aeb8d1c48b4686.png

3. 实验

3.1 实验设置

本文共使用ResNet-18,WideResNet34-10在CIFAR-10和CIFAR-100上,PreActResNet18在Tiny ImageNet上,以及ResNet-50在ImageNet上评估所提方法的有效性。

CIFAR-10结果

4ae449b3e81a411c32e5288d70c9abab.png

CIFAR-100结果

506db1543e5913d03a3c4a00b81e2f1a.png

Tiny ImageNet结果

fff665ae6641c6e6060c8a444d635b9f.png

ImageNet结果

77fd27a102caf23a54c8910ff6cbeee9.png

消融实验

为了验证所提出的基于经验指导的正则化方法的有效性,本文使用ResNet18在CIFAR-10上进行了消融实验,结果如下。2bef171f336d82a7eedc77b0587de085.png

4. 总结

在本文中,我们从初始化的角度研究了如何提高对抗样本的质量,并提出采用历史生成的对抗扰动来初始化对抗样本。它可以在没有额外计算成本的情况下生成有效的对抗样本。此外,我们还提出了一种简单而有效的正则化方法提高模型的鲁棒性,从而防止当前扰动与先验引导的初始化偏差太大。正则化项利用历史和当前的对抗性扰动来指导模型学习。广泛的实验评估表明,所提出的方法可以防止灾难性的过度拟合,并以较低的计算成本优于最先进的FAT 方法。

点击进入—>CV微信技术交流群

CVPR/ECCV 2022论文和代码下载

后台回复:CVPR2022,即可下载CVPR 2022论文和代码开源的论文合集

后台回复:ECCV2022,即可下载ECCV 2022论文和代码开源的论文合集

后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDF

目标检测和Transformer交流群成立
扫描下方二维码,或者添加微信:CVer222,即可添加CVer小助手微信,便可申请加入CVer-目标检测或者Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测或者Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群▲扫码或加微信号: CVer222,进交流群
CVer学术交流群(知识星球)来了!想要了解最新最快最好的CV/DL/ML论文速递、优质开源项目、学习教程和实战训练等资料,欢迎扫描下方二维码,加入CVer学术交流群,已汇集数千人!▲扫码进群
▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看


推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 深入理解Kafka服务端请求队列中请求的处理
    本文深入分析了Kafka服务端请求队列中请求的处理过程,详细介绍了请求的封装和放入请求队列的过程,以及处理请求的线程池的创建和容量设置。通过场景分析、图示说明和源码分析,帮助读者更好地理解Kafka服务端的工作原理。 ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • 手把手教你使用GraphPad Prism和Excel绘制回归分析结果的森林图
    本文介绍了使用GraphPad Prism和Excel绘制回归分析结果的森林图的方法。通过展示森林图,可以更加直观地将回归分析结果可视化。GraphPad Prism是一款专门为医学专业人士设计的绘图软件,同时也兼顾统计分析的功能,操作便捷,可以帮助科研人员轻松绘制出高质量的专业图形。文章以一篇发表在JACC杂志上的研究为例,利用其中的多因素回归分析结果来绘制森林图。通过本文的指导,读者可以学会如何使用GraphPad Prism和Excel绘制回归分析结果的森林图。 ... [详细]
  • PatchODAX8: ... [详细]
  • cs231n Lecture 3 线性分类笔记(一)
    内容列表线性分类器简介线性评分函数阐明线性分类器损失函数多类SVMSoftmax分类器SVM和Softmax的比较基于Web的可交互线性分类器原型小结注:中文翻译 ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
  • pc电脑如何投屏到电视?DLNA主要步骤通过DLNA连接,使用WindowsMediaPlayer的流媒体播放举例:电脑和电视机都是连接的 ... [详细]
  • 用户视图(查看运行状态或其他参数)系统视图(配置设备的系统参数)system-viewEntersystemview,returnuservi ... [详细]
author-avatar
每天吃的饱饱的
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有